1. Field of the Invention
The present invention relates to an apparatus for chemical genetic programming and a method of chemical genetic programming.
2. Description of the Background Art
In biological cells, translation from symbol to function, that is, translation from genotype to phenotype is specified by enzymes created from DNA (DeoxyriboNucleic Acid), and therefore, when cells are subjected to gene modification, translation process is also influenced by the modification. DNA is translated into transfer RNAs (tRNA: transfer RiboNucleic Acid). The translated tRNAs react with amino acids by the help of enzyme to generate a translation table, that is, aminoacyl-tRNAs, specifying the translation scheme of the cell. Information related to code structure specifying the genotype and information or code translation are both stored in DNA, and therefore, both can coevolve in the cells through gene mutation.
(Chemical Genetic Algorithm)
A new genetic algorithm, referred to Chemical Genetic Algorithm (CGA) has been proposed, through inspiration to mimic the mechanism in the actual biological cells (see, for example, Reference 1: Suzuki, H., Sawai, H.: “Chemical Genetic Algorithms—Coevolution between Codes and Code Translation.” In: Standish, R. K., Bedau, M. A., Abass, H. A. (eds.): Proceedings of the Eighth International Conference on Artificial Life (Artificial Life VIII) (2002) pp. 164-172, and Reference 2: Suzuki, H., Sawai, H., Piaseczny, W.: “Evolvability Enhancement by the Optimization of a Chemical Translation System—a Case Study.” In: Dittrich, P., Kim, J. T. (eds.): The 7th European Conference on Artificial Life (ECAL) Workshop Proceedings (2003) pp. 146-155).
CGA introduces dynamic relation between the genotype information and the phenotype function, to enable autonomous optimization of the translation process from genotype to phenotype.
In a typical genetic algorithm, “encoding” for defining correspondence or mapping between DNA in binary representation and a function parameter to be optimized is the most important factor that determines the performance of the algorithm. The determining relation is, in “chemical genetic algorithm,” autonomously established.
Such an algorithm may be used as an optimization algorithm. Optimization is one of the most required processes in various and many fields of technology. Chemical genetic algorithm is an approach for building an intelligent system similar to biological system.
An ability to evolve in an artificially designed evolutionary system is specified by a set of fundamental functional units. In a real biological system, the fundamental functional units include twenty amino acids, and genetic information written in DNA is translated into these amino acids by using a set of molecules known as “aminoacyl-tRNAs”. In the biological system, aminoacyl-tRNAs are fundamental molecules defining mapping from genotype (genetic type; base sequence on DNA, genetic code) to phenotype (protein functions and the like).
The process for selecting amino acids as functional units in real biological system and selecting aminoacyl-tRNAs as translation molecules thereto takes place simultaneously with evolution of genotype (codes) written in DNA/RNA, and in this sense, the codes and the translation table therefor “evolved simultaneously,” or in a broad sense, “coevolved”.
In an artificial evolutionary system, the introduction of coevolution between codes and translation table might help spontaneous enhancement of evolutionary performance during evolutionary experiments.
“Chemical genetic algorithm” represents a method developed from the genetic algorithm based on analogy to bio-metabolic system.
In typical genetic algorithm, first, a population of chromosomes are prepared and subjected to genetic operations such as mutation and crossover. In contrast, in “chemical genetic algorithm” (hereinafter referred to as CGA), not a population of chromosomes but cells are prepared.
A cell not only includes a common chromosome (DNA) but also three small molecular groups of amino acids, tRNAs and aminoacyl-tRNAs, genetic codes on DNA are converted to real values through transcription and translation reactions in the cell, and fitness is computed.
Genetic operations include common DNA mutation, DNA crossover as well as molecular reaction and cytoplasmic exchange, and natural selection takes place by the unit of a cell containing the molecular groups.
(Genetic Programming)
Genetic programming, on the other hand, has found various technical applications (see, for example, Reference 3: Koza, J. R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, The MIT Press (1992) pp. 79-119).
The conventional genetic programming starts from a program consisting of randomly generated prescribed programming elements, and reproduces over generations a best fit program of each generation through genetic operations, so as to evolve the population.
Though an approach to optimize functional parameter has been considered in CGA such as described above, it has been unclear how such approach should be applied to programming.